import rtconfig
from building import *

# get current directory
cwd = GetCurrentDir()

# The set of source files associated with this SConscript file.

src = Split('''
CMSIS/GD/GD32E50x/Source/system_gd32e50x.c
GD32E50x_standard_peripheral/Source/gd32e50x_gpio.c
GD32E50x_standard_peripheral/Source/gd32e50x_rcu.c
GD32E50x_standard_peripheral/Source/gd32e50x_exti.c
GD32E50x_standard_peripheral/Source/gd32e50x_misc.c
GD32E50x_standard_peripheral/Source/gd32e50x_tmu.c
''')
# remove: GD32E50x_standard_peripheral/Source/gd32e50x_syscfg.c

if GetDepend(['RT_USING_SERIAL']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_usart.c']

if GetDepend(['RT_USING_I2C']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_i2c.c']

if GetDepend(['RT_USING_SPI']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_spi.c']

if GetDepend(['RT_USING_CAN']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_can.c']

if GetDepend(['BSP_USING_ETH']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_enet.c']

if GetDepend(['RT_USING_ADC']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_adc.c']

if GetDepend(['RT_USING_DAC']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_dac.c']

if GetDepend(['RT_USING_RTC']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_rtc.c']
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_pmu.c']

if GetDepend(['RT_USING_WDT']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_wwdgt.c']
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_fwdgt.c']

if GetDepend(['RT_USING_SDIO']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_sdio.c']
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_dma.c']
    
if GetDepend(['RT_USING_PWM_INPUT_CAPTURE']):
    src += ['GD32E50x_standard_peripheral/Source/gd32e50x_timer.c']

path = [
    cwd + '/CMSIS/GD/GD32E50x/Include',
    cwd + '/CMSIS',
    cwd + '/GD32E50x_standard_peripheral/Include',]

CPPDEFINES = ['USE_STDPERIPH_DRIVER']

group = DefineGroup('Libraries', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)

Return('group')
